The present disclosure relates generally to synchronization of a virtual machine, and more particularly, to methods, systems, and computer program products for synchronization of a virtual machine across mobile devices.
People increasingly rely on mobile devices in their everyday lives, often having multiple devices such as a smartphone and a tablet. The utility of these devices would improve if users could switch seamlessly from one device to another. In particular, if they could continue using applications on the second device exactly where they left off on the first device, with both data and computation state preserved across the switch without apparent delay. For example, a user who starts watching a video on a smartphone may want to continue watching the video on the larger display provided by a tablet.
A limited form of such device switching is currently available through per-application data synchronization. For example, existing services synchronize changes to calendars, address books, and a few other explicitly supported applications. Some other applications provide their own synchronization facilities. However, this approach requires separate, and often specific, support to be built into each application. A general solution that works for all applications would scale better to the rapidly growing set of mobile applications, which already number in the hundreds of thousands.
There are several established techniques for migrating virtual machine state between hardware hosts. For example, one technique transfers a virtual machine image while the virtual machine continues to run in the originating host, only suspending the virtual machine for an imperceptible period while control is finally switched to the receiving host. However, this technique transfers the complete virtual machine memory image each time, an operation that generally involves gigabytes of data and would be prohibitive over a slow wireless link. In addition, this technique assumes a high-speed shared storage medium between the hosts involved, so that disk state need not be transferred at migration time. Mobile devices do not enjoy such shared storage.